Encoding TLA ^+ + into Many-Sorted First-Order Logic
نویسندگان
چکیده
This paper presents an encoding of a non-temporal fragment of the TLA language, which includes untyped set theory, functions, arithmetic expressions, and Hilbert’s ε operator, into many-sorted firstorder logic, the input language of state-of-the-art smt solvers. This translation, based on encoding techniques such as boolification, injection of unsorted expressions into sorted languages, term rewriting, and abstraction, is the core component of a back-end prover based on smt solvers for the TLA Proof System.
منابع مشابه
Encoding TLA+ set theory into many-sorted first-order logic
We present an encoding of Zermelo-Fraenkel set theory into many-sorted first-order logic, the input language of state-of-the-art smt solvers. This translation is the main component of a back-end prover based on smt solvers in the TLA Proof System.
متن کاملHarnessing SMT Solvers for TLA+ Proofs
TLA+ is a language based on Zermelo-Fraenkel set theory and linear temporal logic designed for specifying and verifying concurrent and distributed algorithms and systems. The TLA+ proof system TLAPS allows users to interactively verify safety properties of these systems. At the core of TLAPS, a proof manager interprets the proof language, generates corresponding proof obligations and passes the...
متن کاملNotes on Many-Sorted Logic
Preface, p. vii Any reasonable logical system can be naturally translated into many-sorted first-order logic; thus many-sorted first-order logic is a universal logic. Since many-sorted logic can be translated into single-sorted first-order logic the latter is also universal. However, as will be seen in the course of this book, many-sorted logic faithfully interprets the semantics of the object ...
متن کاملRefinement Types for tla +
TLA is a specification language, mainly intended for concurrent and distributed systems. Its non-temporal fragment is based on a variant of (untyped) ZF set theory. Motivated by the integration of the TLA Proof System with SMT solvers or similar tools based on multi-sorted first-order logic, we define a type system for TLA and we prove its soundness. The system includes refinement types, which ...
متن کاملFrom TLT modules to stream processing functions
The objective of this note is to deene a semantics of TLT programs in terms of stream processing functions. As an intermediate step, we deene a semantics of TLT programs in terms of timed traces, which have been chosen as a common semantic framework for all speciication formalisms considered in the KorSys project. The broader intent is to explore some of the issues that will have to be addresse...
متن کامل